Command Set for the Turner C3 Fluorometers

All parameter lists must be comma delimited (setting Calibration and configuration)


CMD CFG GET		
	No Parameters

CMD CFG SET 64000,3600,64000,255,100,100,100,100,100,100,100,100,64000,1,255
	Param 1 = Number of Samples to take (0 = continuous until told to stop)
	Param 2 = Sample Period in seconds
	Param 3 = Delay after power on before taking a sample in milli-seconds
	param 4 = Channel Mask indicating what channels to use bit0=C1, bit1=C2, bit3=C4, bit4=C5, bit5=C6, bit6=Pressure, bit7=Temperature (255 = use everything available)
	params 5-->12 = Gain controls for each channel (C1-->C6, P, T) where gain=value and A=Auto Gain
	param 13 = Number of readings to average when reporting 1 sample result (ex, we may be reporting 1 sample every 30 seconds, but each sample is an average of 10 readings on the sensor)
	param 14 = Idle Power State 1=Leave power on between samples (param 3 is only applied at initial power on), 0=Turn power off after each sample (param 3 is applied at every sample)
	param 15 = Number of wiper revolutions before each sample



CMD CAL GET
	No Parameters (maybe 1 parameter for the channel to get???)


CMD CAL SET 1,12/31/2010 23:59:59,64000,64000,64000,12/31/2010 23:59:59,64000,64000,abcdefghijklmn,123456789,zyxwvut,N,64000
	Param 1 = Channel Number 1->6=C1->C6, 7=Pressure, 8=Temperature
	Param 2 = Date and Time (24 Hour format) when the blank measurement was performed
	Param 3	= Cyclops Reading of the Blank at Gain 1X
	Param 4	= Cyclops Reading of the Blank at Gain 10X
	Param 5	= Cyclops Reading of the Blank Gain 100X
	Param 6 = Date and Time (24 hour format) when the standard measurement was performed
	Param 7 = Standard Concentration
	Param 8 = Cyclops Reading of the Standard
	Param 9 = ASCII Channel Name -- MAX of 14 characters
	Param 10 = ASCII Cyclops Serial Number -- MAX of 9 characters 
	Param 11 = ASCII indication of units for the standard (ppm, ppb, ug/l, etc.) -- MAX of 7 chars
	Param 12 = Temperature Coefficient to use -- N=None, C=Chlorophyll, R=Rhodamine
	Param 13 = Temperature at the time of the calibration



CMD TIME GET
	No Parameters
CMD TIME SET
	No Parameters

CMD ID GET
	No Parameters
CMD ID SET 12345678
	param 1 = ASCII serial number -- MAX of 7 characters

CMD START
CMD STOP

CMD WIPE 255
	param1 = Number of times to turn the wiper

CMD ON		???
CMD OFF		??? 




Data Returned from the Turner C3 Fluorometers

Data Format will use type 0x91
	Payload Type 		4 Bytes			TBD
	Board ID		1 Byte			Depends on Installation
	Task ID			1 Byte			Depends on Installation
	Sensor Data Format	4 bits			0 = ID Block -- ASCII
                                                        1 = Date/Time currently set on C3 -- ASCII
							2 = Current Configuration -- ASCII
							3 = Calibration Data -- ASCII
							8 = Data -- Binary -- values in counts
							9 = Data -- Binary -- values in converted units (RFUs/Meters/Degrees C)
	Default Parser		1 bit			See above for value setting
	Delivery Priority	3 bits			Set to 2???
	Repeat Count		1 Byte			TBD -- depends on data size/rate (max = 12?)

Data Block Common
	Latitude		4 Bytes			1/10000 of a minute per count
	Longitude		4 Bytes			1/10000 of a minute per count
	TimeStamp		4 Bytes			Unix Based Timestamp

Data Block -- ID (Size = 103 -- or 100 Bytes)
		SN:00000000 fw:00.00, C1:Y C2:Y C3:Y C4:N C5:N C6:N P:Y T:Y W:Y Log:N, Size:65000 Free:65000 Comm:00.00
		SN:00000000 fw:00.00 Comm:00.00 C1:............... C2:............... C3:............... P:Y T:Y W:Y

Data Block -- Configuration (Size = 163 Bytes)
		Samples:64000 Period:3600 On Delay:64000 C1:Y C2:Y C3:Y C4:N C5:N C6:N P:Y T:Y G1:100 G2:100 G3:100 G4:100 G5:100 G6:100 G7:100 G8:100 Avg#:64000 Pwr:Off Wipes:255

Data Block -- Calibration (Size = 152 Bytes)
		Chan:1 ChannelName... SerialNum Blank:12/31/2010 23:59:59 1X:64000 10X:6400.0 100X:640.00 Standard:12/31/2010 23:59:59 64000 ppm.... 64000. Temp:N 64000

Data Block -- C3 Data type 8 (Size = 10 Bytes)
	C1 Value		2 Bytes		bits 0-13 are reading, bits 14-15 indicate gain setting (0=1X,1=10X,2=100X,3=Unknown).  RFU = (Reading * 4)/gain
	C2 Value		2 Bytes		bits 0-13 are reading, bits 14-15 indicate gain setting (0=1X,1=10X,2=100X,3=Unknown).  RFU = (Reading * 4)/gain
	C3 Value		2 Bytes		bits 0-13 are reading, bits 14-15 indicate gain setting (0=1X,1=10X,2=100X,3=Unknown).  RFU = (Reading * 4)/gain
	Pressure		2 Bytes		Conversion = ???
	Temerature		2 Bytes		Conversion = lookup table???

Data Block -- C3 Data type 9 (Size = 14 Bytes)
	C1 Integer Value	2 Bytes		0-65535
	C1 Decimal Value	1 Byte		0-99	Actual value for C1 is Integer.Decimal so if the Integer value is 1234 and the decimal value is 20 the C1 RFU value is 1234.20
	C2 Integer Value	2 Bytes		0-65535
	C2 Decimal Value	1 Byte		0-99	Actual value for C2 is Integer.Decimal so if the Integer value is 1234 and the decimal value is 20 the C1 RFU value is 1234.20
	C3 Integer Value	2 Bytes		0-65535
	C3 Decimal Value	1 Byte		0-99	Actual value for C3 is Integer.Decimal so if the Integer value is 1234 and the decimal value is 20 the C1 RFU value is 1234.20
	Depth Integer Value	2 Bytes		0-65535 (Note:  depth is 10m greater than the actual depth 
	Depth Decimal Value	1 Byte		0-99	Actual value for Depth is Integer.Decimal so if the Integer value is 1234 and the decimal value is 20 the Depth value is 1234.20m
	Temerature		2 Bytes		0-65535 -- temperature is in .01 deg C per count so a value of 2345 = 23.45 deg C

	